2 * Adium is the legal property of its developers, whose names are listed in the copyright file included
3 * with this source distribution.
5 * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
6 * General Public License as published by the Free Software Foundation; either version 2 of the License,
7 * or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
10 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
11 * Public License for more details.
13 * You should have received a copy of the GNU General Public License along with this program; if not,
14 * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17 #import <Adium/AIStatusControllerProtocol.h>
18 #import "ESPurpleICQAccount.h"
19 #import "ESPurpleICQAccountViewController.h"
20 #import "ESICQService.h"
22 @implementation ESICQService
25 - (Class)accountClass{
26 return [ESPurpleICQAccount class];
29 - (AIAccountViewController *)accountViewController{
30 return [ESPurpleICQAccountViewController accountViewController];
34 - (NSString *)serviceCodeUniqueID{
35 return @"libpurple-oscar-ICQ";
37 - (NSString *)serviceID{
40 - (NSString *)shortDescription{
43 - (NSString *)longDescription{
46 - (NSCharacterSet *)allowedCharacters{
47 return [NSCharacterSet characterSetWithCharactersInString:@"0123456789-"];
49 - (NSCharacterSet *)ignoredCharacters{
50 return [NSCharacterSet characterSetWithCharactersInString:@"-"];
55 - (BOOL)caseSensitive{
58 - (AIServiceImportance)serviceImportance{
59 return AIServiceSecondary;
61 - (NSString *)userNameLabel{
62 return AILocalizedString(@"ICQ Number",nil); //ICQ#
65 - (void)registerStatuses{
66 [super registerStatuses];
68 [[adium statusController] registerStatus:STATUS_NAME_FREE_FOR_CHAT
69 withDescription:[[adium statusController] localizedDescriptionForCoreStatusName:STATUS_NAME_FREE_FOR_CHAT]
70 ofType:AIAvailableStatusType
73 [[adium statusController] registerStatus:STATUS_NAME_DND
74 withDescription:[[adium statusController] localizedDescriptionForCoreStatusName:STATUS_NAME_DND]
75 ofType:AIAwayStatusType
78 [[adium statusController] registerStatus:STATUS_NAME_NOT_AVAILABLE
79 withDescription:[[adium statusController] localizedDescriptionForCoreStatusName:STATUS_NAME_NOT_AVAILABLE]
80 ofType:AIAwayStatusType
83 [[adium statusController] registerStatus:STATUS_NAME_OCCUPIED
84 withDescription:[[adium statusController] localizedDescriptionForCoreStatusName:STATUS_NAME_OCCUPIED]
85 ofType:AIAwayStatusType